模块化的开源android项目(小说阅读器) | 您所在的位置:网站首页 › 代码阅读器 手机 › 模块化的开源android项目(小说阅读器) |
单模块的开源android项目(小说阅读器) -基于Pokedex(github 3.8k+框架) reader免费小说阅读App github地址 单模块版本App github地址 多模块版本App github地址 参考项目 1.android-showcase 模块化的mvvm开发 android-showcase 2.Pokedex 单项目 mvvm,flow Pokedex 2.NovelReader 基于"任阅"的改进追书App NovelReader 3.FreeNovel 基于kotlin的免费Android小说应用FreeNovel 4.OKBook kotlin + 协程 + MVVM 模式来编写的看小说APP OKBook 应用展示小说阅读器(模块化开发,基于Kotlin+MVVM+Kodein+Retrofit+Jsoup+Coroutines+Jetpack+Coil+Room+Mockk等架构实现),用kotlin重写了“任阅”的阅读模块代码,优化,代码逻辑,降低内存使用率。支持网络阅读,本地阅读。支持防真翻页、上下滚动翻页等效果,支持小说断点续传功能。 目前已有功能: 1.书城 支持书城切换(目前支持,全文阅读网,笔趣阁)。 支持小说分类切换。 支持按书名,作者搜索小说。 支持查看小说简介。 支持小说订阅 支持直接在线阅读2.书架 支持取消订阅 支持搜索书架 支持订阅本地书籍(目前只支持.txt) 支持本地阅读3.个人配置 清理缓存 跳转github4.阅读 目录(小说目录) 亮度(设置阅读器亮度,日/夜模式) 缓存(下载小说到本地) 设置(字体,字号,翻页模式,背景图片)准备加入但是目前还没的功能: 1.隐藏书城 2.尝试支持厚墨源 3.书城不再是写死的方式,而是类似于厚墨的安装方式 4.支持语音朗读注: 该项目不定时维护更新,如有侵权的地方,请告知小弟,立马删除 以下为框架相关 项目特点 • kotlin • 架构(动态功能模块,清洁架构,Model-View-ViewModel,Model-View-Intent) • Android Jetpack 库 • 单活动架构(导航组件) • Reactive UI • CI pipeline(GitHub Actions) • Testing(Unit,UI) • 静态分析工具 • 依赖注入 • Material Design 技术栈最低API级别设置为21,因此该方法适用于超过 85%的运行Android的设备。该项目利用了Android生态系统中许多流行的库和工具。除非有充分的理由使用非稳定依赖关系,否则大多数库都处于稳定版本。 • 技术栈 ○ Kotlin + Coroutines-执行后台操作 ○ Kodein-依赖注入 ○ OKHttp - 网络请求相关 ○ Retrofit - 网络接口相关 ○ Jetpack 1.Navigation - 处理整个应用内导航 2.LiveData - 通知有关数据库更改的视图 3.Lifecycle - 生命周期状态更改时执行操作 4.ViewModel-以生命周期意识的方式存储和管理与UI相关的数据 ○ Coil-使用Kotlin惯用API的图像加载库 ○ Lottie-动画库 ○ Material Dialogs-弹出框库 ○ Room-本地数据库 ○ Swipe Refresh Layout-滚动界面 ○ Jsoup-网页解析 ○ Stetho-应用程序调试工具 • 架构 ○ 清洁架构(模块级别) ○ MVVM + MVI(表示层) ○ 动态功能模块 ○ Android体系结构组件(ViewModel,LiveData,Navigation,SafeArgs插件) • 测试 ○ Unit Tests(JUnit) ○ Mockk ○ Kluent • Gradle ○ Gradle Kotlin DSL ○ 自定义任务 ○ 插件(Ktlint,Detekt,Versions,SafeArgs) 架构与功能相关的代码位于功能模块之一中。我们可以将每个功能视为微服务或私有库的等效项。 我们在应用程序中有三种模块: • app module ○ 这是主要模块。它包含将多个模块(依赖注入设置NavHostActivity等)和基本应用程序配置(改造配置,必需的权限设置,自定义应用程序类等)连接在一起的代码。 • helper modules ○ 独立于应用程序的library_base模块,包含可在其他项目/应用程序中重用的通用代码库(此代码并非特定于此应用程序)。基类,实用程序,自定义委托,扩展。 ○ library_x一些功能可能依赖的其他特定于应用程序的模块。如果您只想在几个功能模块之间共享某些资产或代码,这将很有帮助(当前应用程序没有此类模块) • feature modules ○ 最常见的模块类型,包含与给定功能相关的所有代码。功能模块结构 清洁架构是应用程序的“核心体系结构”,因此每个feature module层都包含自己的一组“清洁”体系结构层(app模块和library_x模块的结构与功能模块的结构略有不同) 每个功能模块均包含非层组件和3个层,每个层具有不同的职责集 |
CopyRight 2018-2019 实验室设备网 版权所有 |